//
// Created by ezio on 20-3-16.
//

#ifndef HAWK_CAM_CAM_MODULE_H
#define HAWK_CAM_CAM_MODULE_H
#ifdef MOCK
#else
#include "hi_type.h"
#include "sample_comm.h"
#endif
class CAM_MODULE{
public:
    CAM_MODULE();
    int Init();
    int SetupCamVI(int cam_nums=1);
    int SetupVPSS();
    int SetupVENC();
    int SetupVO(int vo_nums=1);
    int SetupWDR();
    int BindVPSStoVENC();
    int BindVPSStoVO();
    HI_S32 SAMPLE_VIO_test(HI_U32 u32VoIntfType);
    HI_S32 SAMPLE_VIO_ViDeMuxYuv(HI_U32 u32VoIntfType);
    //SetAE()
    HI_S32 start();
    void Stop();
    ~CAM_MODULE();
private:

    bool is_vi_init , is_vpss_init, is_venc_init, is_vo_init ,is_vpssbindvo , is_vpssbindvenc;

    WDR_MODE_E         enWDRMode      ;
    /*
    DYNAMIC_RANGE_E    enDynamicRange ;
    PIXEL_FORMAT_E     enPixFormat    ;
    VIDEO_FORMAT_E     enVideoFormat  ;
    COMPRESS_MODE_E    enCompressMode ;
    PIC_SIZE_E         enPicSize;
    SIZE_S             stSize;
    */

    int cam_nums_;
    int vo_nums_;
    SAMPLE_VO_MODE_E vo_mode_;
};

#endif //HAWK_CAM_CAM_MODULE_H
